# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Zork Grand Inquisitor Template

game: Zork Grand Inquisitor
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    Zork Grand Inquisitor: 2.0.6 # Version of the world required for this yaml to work as expected.

Zork Grand Inquisitor:
  ################
  # Game Options #
  ################
  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  ################
  # Goal Options #
  ################
  goal:
    # Determines the victory condition.
    # 
    # Three Artifacts: Retrieve the Coconut of Quendor, the Cube of Foundation and the Skull of Yoruk
    # Artifact of Magic Hunt: Retrieve X artifacts of magic and bring them to the walking castle
    # Spell Heist: Acquire all spells and travel to the Port Foozle signpost
    # Zork Tour: Visit all 20 landmarks and travel to the Port Foozle signpost
    # Grim Journey: Experience all 22 player deaths and go beyond the gates of Hades
    three_artifacts: 50
    artifact_of_magic_hunt: 0
    spell_heist: 0
    zork_tour: 0
    grim_journey: 0

  artifacts_of_magic_total:
    # Determines how many Artifacts of Magic are in the item pool.
    # 
    # Only relevant if the selected goal is Artifact of Magic Hunt.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 15
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-15: 0 # random value between 5 and 15

  artifacts_of_magic_required:
    # Determines how many Artifacts of Magic are required to win.
    # 
    # Only relevant if the selected goal is Artifact of Magic Hunt.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 15
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-15: 0 # random value between 5 and 15

  landmarks_required:
    # Determines how many Landmarks are required to win.
    # 
    # Only relevant if the selected goal is Zork Tour.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 20
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-20: 0 # random value between 10 and 20

  deaths_required:
    # Determines how many Deaths are required to win.
    # 
    # Only relevant if the selected goal is Grim Journey.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 10
    # Maximum value is 22
    22: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-10-22: 0 # random value between 10 and 22

  ####################
  # Gameplay Options #
  ####################
  starting_location:
    # Determines the in-game location the player will start at.
    # 
    # The player always starts with VOXAM, which can be used to teleport back to the starting location at any time.
    # Depending on the starting location, the player may also be given a starter kit of items to help them get going.
    # 
    # Note: VOXAM will only work from the spell quickbar. It will have no effect from the spellbook.
    port_foozle: 50
    crossroads: 0
    dm_lair: 0
    dm_lair_house: 0
    gue_tech: 0
    spell_lab: 0
    hades_shore: 0
    flood_control_dam_3: 0
    monastery_totemizer: 0
    monastery_exhibit: 0

  hotspots:
    # Determines the behavior of hotspots (interactable areas of the screen) in the game.
    # 
    # Enabled: All hotspots will be enabled at the start of the game
    # Require Item per Region: An item will enable all hotspots for a given region (e.g. Hotspots: Crossroads)
    # Require Item per Hotspot: An item will enable a specific hotspot (e.g. Hotspot: Subway Token Slot)
    enabled: 50
    require_item_per_region: 0
    require_item_per_hotspot: 0

  craftable_spells:
    # Determines the behavior when craftable spells (BEBURTT, OBIDIL, SNAVIG, YASTARD) are obtained.
    # Spells in a starting location's starter kit always have precedence over this option.
    # 
    # Vanilla: After crafting a spell, the player will be given that exact spell
    # Any Spell: After crafting a spell, the player will be given a random spell
    # Anything: After crafting a spell, a random item from the multiworld will be unlocked
    vanilla: 0
    any_spell: 0
    anything: 50

  wild_voxam:
    # If true, casting VOXAM will have a small chance to teleport the player to a different location.
    # 
    # This option can enable small stretches of out-of-logic gameplay in the early game, with strong diminishing returns
    # as the game progresses.
    'false': 50
    'true': 0

  wild_voxam_chance:
    # Determines the percentage chance that a VOXAM cast will be wild.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 10
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-10: 0 # random value between 1 and 10

  deathsanity:
    # If true, adds 22 unique player death locations to the world.
    # 
    # This option will be forced on if your goal is Grim Journey.
    'false': 50
    'true': 0

  landmarksanity:
    # If true, adds 20 landmark locations to the world.
    # 
    # This option will be forced on if your goal is Zork Tour.
    'false': 0
    'true': 50

  entrance_randomizer:
    # Determines the behavior of entrances in the game.
    # 
    # Disabled: Entrances are not randomized and lead to their vanilla areas
    # Coupled: Entrances are randomized. Going back through an entrance will lead back to the previous area
    # Uncoupled: Entrances are randomized. Going back through an entrance can lead to a different area
    disabled: 50
    coupled: 0
    uncoupled: 0

  entrance_randomizer_include_subway_destinations:
    # If true, the entrance randomizer will include subway destinations in the randomization pool.
    # 
    # Only relevant if the entrance randomizer is enabled.
    'false': 50
    'true': 0

  ################
  # Trap Options #
  ################
  trap_percentage:
    # Determines the percentage chance that a trap will replace a filler item.
    # 
    # Possible traps are:
    # - Infinite Corridor Trap: The player is teleported to a random depth in the Infinite Corridor
    # - Reverse Controls Trap: The player's panorama controls are reversed for 30 seconds
    # - Teleport Trap: The player is teleported to a random location
    # - ZVision Trap: The player's vision is obscured for 30 seconds
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  infinite_corridor_trap_weight:
    # Determines the weight of the Infinite Corridor Trap.
    # 
    # The higher the weight, the more likely this trap will be chosen when a trap is rolled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  reverse_controls_trap_weight:
    # Determines the weight of the Reverse Controls Trap.
    # 
    # The higher the weight, the more likely this trap will be chosen when a trap is rolled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  teleport_trap_weight:
    # Determines the weight of the Teleport Trap.
    # 
    # The higher the weight, the more likely this trap will be chosen when a trap is rolled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  zvision_trap_weight:
    # Determines the weight of the ZVision Trap.
    # 
    # The higher the weight, the more likely this trap will be chosen when a trap is rolled.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  ##################
  # Client Options #
  ##################
  grant_missable_location_checks:
    # If true, performing an irreversible action will grant the locations checks that would have become unobtainable as a
    # result of that action when you meet the item requirements.
    # 
    # Otherwise, the player is expected to potentially have to use the save system to reach those location checks. If you
    # don't like the idea of rarely having to reload an earlier save to get a location check, make sure this option is
    # enabled.
    # 
    # Note: This option is incompatible with the entrance randomizer and will be forced off in the scenario where
    # entrances are randomized.
    'false': 50
    'true': 0

  client_seed_information:
    # Determines what information about the seed the client will reveal after using the /zork command.
    # 
    # Reveal Nothing: No information about the seed is displayed
    # Reveal Goal: Only the goal of the seed is displayed
    # Reveal Goal and Options: Both the goal and the options of the seed are displayed
    reveal_nothing: 0
    reveal_goal: 0
    reveal_goal_and_options: 50

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
